<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Microsoft.InformationSecurity.ISRM.TaskManagment.Classes" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://anilkr3.redmond.corp.microsoft.com/TasksWS/TasksService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="TaskStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaskCount" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TaskStatus" nillable="true" type="tns:TaskStatus" />
  <xs:complexType name="ArrayOfTask">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Task" nillable="true" type="tns:Task" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTask" nillable="true" type="tns:ArrayOfTask" />
  <xs:complexType name="Task">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BusinessObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="AssignedTo" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="BusinessObject" nillable="true" type="tns:BusinessObject" />
          <xs:element minOccurs="0" name="Category" nillable="true" type="tns:Category" />
          <xs:element minOccurs="0" name="CreatedBy" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CreatedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="DueDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Group" nillable="true" type="tns:Group" />
          <xs:element minOccurs="0" name="HoursSpent" type="xs:int" />
          <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="LastUpdatedDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="NotificationSchedule" nillable="true" type="tns:NotificationSchedule" />
          <xs:element minOccurs="0" name="Status" nillable="true" type="tns:TaskStatus" />
          <xs:element minOccurs="0" name="SubTasks" nillable="true" type="tns:ArrayOfTask" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Task" nillable="true" type="tns:Task" />
  <xs:complexType name="BusinessObject">
    <xs:sequence>
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BusinessObject" nillable="true" type="tns:BusinessObject" />
  <xs:complexType name="User">
    <xs:sequence>
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="LoginName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="Category">
    <xs:sequence>
      <xs:element minOccurs="0" name="Active" type="xs:boolean" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastUpdatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaskCount" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Category" nillable="true" type="tns:Category" />
  <xs:complexType name="Group">
    <xs:sequence>
      <xs:element minOccurs="0" name="Active" type="xs:boolean" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastUpdatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaskCount" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Group" nillable="true" type="tns:Group" />
  <xs:complexType name="NotificationSchedule">
    <xs:sequence>
      <xs:element minOccurs="0" name="CreatedBy" nillable="true" type="tns:User" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="IsDefault" type="xs:boolean" />
      <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastUpdatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Notifications" nillable="true" type="tns:ArrayOfNotification" />
      <xs:element minOccurs="0" name="TaskCount" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="NotificationSchedule" nillable="true" type="tns:NotificationSchedule" />
  <xs:complexType name="ArrayOfNotification">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Notification" nillable="true" type="tns:Notification" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfNotification" nillable="true" type="tns:ArrayOfNotification" />
  <xs:complexType name="Notification">
    <xs:sequence>
      <xs:element minOccurs="0" name="DayOfMonth" type="xs:int" />
      <xs:element minOccurs="0" name="DayOfWeek" type="tns:DaysOfWeek" />
      <xs:element minOccurs="0" name="Frequency" type="xs:int" />
      <xs:element minOccurs="0" name="FrequencyType" type="tns:FrequencyType" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="IsBeforeDueDate" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsRecurring" type="xs:boolean" />
      <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastUpdatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="NotificationContent" nillable="true" type="tns:NotificationContent" />
      <xs:element minOccurs="0" name="Occurances" type="xs:int" />
      <xs:element minOccurs="0" name="Recipients" nillable="true" type="tns:ArrayOfNotificationRecipient" />
      <xs:element minOccurs="0" name="Subject" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Notification" nillable="true" type="tns:Notification" />
  <xs:simpleType name="DaysOfWeek">
    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="None">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">0</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="Sunday">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="Monday">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="Tuesday">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">4</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="Wednesday">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">8</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="Thursday">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">16</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="Friday">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">32</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="Saturday">
            <xs:annotation>
              <xs:appinfo>
                <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">64</EnumerationValue>
              </xs:appinfo>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:element name="DaysOfWeek" nillable="true" type="tns:DaysOfWeek" />
  <xs:simpleType name="FrequencyType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Daily" />
      <xs:enumeration value="Weekly" />
      <xs:enumeration value="Monthly" />
      <xs:enumeration value="Yearly" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="FrequencyType" nillable="true" type="tns:FrequencyType" />
  <xs:complexType name="NotificationContent">
    <xs:sequence>
      <xs:element minOccurs="0" name="Body" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="IsHtml" type="xs:boolean" />
      <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastUpdatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NotificationsCount" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="NotificationContent" nillable="true" type="tns:NotificationContent" />
  <xs:complexType name="ArrayOfNotificationRecipient">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="NotificationRecipient" nillable="true" type="tns:NotificationRecipient" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfNotificationRecipient" nillable="true" type="tns:ArrayOfNotificationRecipient" />
  <xs:complexType name="NotificationRecipient">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastUpdatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Type" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="NotificationRecipient" nillable="true" type="tns:NotificationRecipient" />
  <xs:complexType name="ArrayOfTaskTemplate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TaskTemplate" nillable="true" type="tns:TaskTemplate" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTaskTemplate" nillable="true" type="tns:ArrayOfTaskTemplate" />
  <xs:complexType name="TaskTemplate">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BusinessObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Category" nillable="true" type="tns:Category" />
          <xs:element minOccurs="0" name="DueDateDuration" type="xs:int" />
          <xs:element minOccurs="0" name="Group" nillable="true" type="tns:Group" />
          <xs:element minOccurs="0" name="LastUpdatedBy" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="LastUpdatedDateTime" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Notes" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="NotificationSchedule" nillable="true" type="tns:NotificationSchedule" />
          <xs:element minOccurs="0" name="SubTasks" nillable="true" type="tns:ArrayOfTaskTemplate" />
          <xs:element minOccurs="0" name="TaskName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TaskTemplate" nillable="true" type="tns:TaskTemplate" />
  <xs:complexType name="ArrayOfTaskHistory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TaskHistory" nillable="true" type="tns:TaskHistory" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTaskHistory" nillable="true" type="tns:ArrayOfTaskHistory" />
  <xs:complexType name="TaskHistory">
    <xs:sequence>
      <xs:element minOccurs="0" name="ID" type="xs:int" />
      <xs:element minOccurs="0" name="Snapshot" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Timestamp" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UserID" type="xs:int" />
      <xs:element minOccurs="0" name="VersionNumber" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TaskHistory" nillable="true" type="tns:TaskHistory" />
  <xs:complexType name="ArrayOfCategory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Category" nillable="true" type="tns:Category" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategory" nillable="true" type="tns:ArrayOfCategory" />
  <xs:complexType name="ArrayOfGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Group" nillable="true" type="tns:Group" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGroup" nillable="true" type="tns:ArrayOfGroup" />
  <xs:complexType name="ArrayOfTaskStatus">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TaskStatus" nillable="true" type="tns:TaskStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTaskStatus" nillable="true" type="tns:ArrayOfTaskStatus" />
  <xs:complexType name="ArrayOfUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User" nillable="true" type="tns:User" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser" nillable="true" type="tns:ArrayOfUser" />
</xs:schema>